package Dao;

import domain.*;

import java.util.List;

public interface UserMapper {

    /*
            用户分页 + 多条件组合查询
     */
    public List<User> findAllUserByPage(UserVO userVO);

    /*
            用户登录 （根据用户名 查询具体的用户信息）
     */
    public User login(User user);


    /*
           更改用户角色
          根据用户清空关联中间表 + 重新添加中间关联表（分配角色）
     */
    public void deleteUserRelationRoleById(int userid);

    public void addUserRelationRoleById(User_Role_relation user_role_relation);

// 权限模块
    /*
       根据用户id 查询用户拥有的角色信息（可能拥有多个角色)
    */
    public List<Role> findUserRelationRoleById(int userid);

    /*
        根据角色信息roleId 查询到 父级菜单信息(menu表中 parent_id = -1）
     */
    public List<Menu> findMenuByRoleId(List<Integer> roleid);

    /*
         对父菜单关联的子菜单 进行关联查询
     */
    public List<Menu> findSubMenuByPid(int userid);

    /*
         根据用户角色 获取用户拥有的资源信息
     */
    public List<Resource> findResourceByRoleId(List<Integer> roleid);

}
